package entity

import dom "a-common/domain"

// SysPost 系统岗位表
type SysPost struct {
	PostId         int64  `xorm:"pk autoincr notnull"`             // 岗位ID
	PostCode       string `xorm:"varchar(64) notnull"`             // 岗位编码
	PostName       string `xorm:"varchar(200) notnull"`            // 岗位名称
	PostSort       int    `xorm:"varchar(200) notnull"`            // 显示顺序
	Status         string `xorm:"varchar(1) notnull default('1')"` // 状态（1正常 0停用）
	dom.BaseStruct `xorm:"extends"`
}

// SysPostVo 映射
type SysPostVo struct {
	PostId   uint   `json:"postId,omitempty" xorm:"pk"`
	PostCode string `json:"postCode,omitempty"`
	PostName string `json:"postName,omitempty"`
	PostSort int    `json:"postSort"`
	Status   string `json:"status,omitempty"`
}

// SysPostPageVo 页面
type SysPostPageVo struct {
	SysPostVo    `xorm:"extends"`
	dom.BaseJson `xorm:"extends"`
}

// SysPostDto 传输
type SysPostDto struct {
	SysPostPageVo
	dom.BaseJson
	dom.PageDto
}

func (m *SysPostDto) Validator() error {
	if m.PageNum < 1 {
		m.PageNum = 1
	}
	if m.PageSize < 1 {
		m.PageSize = 10
	}
	return nil
}

// SysPostExportVo 导出
type SysPostExportVo struct {
	PostId   uint   `excel:"name:岗位ID;" xorm:"pk"`
	PostCode string `excel:"name:岗位编码;"`
	PostName string `excel:"name:岗位名称;"`
	PostSort int    `excel:"name:岗位排序;"`
	Status   string `excel:"name:状态;replace:0_正常,1_停用;"`
}
